1. Technical Field
Embodiments of the present invention relates generally to broadcast programming systems, and in particular, to a method, apparatus, and article of manufacture for bi-directional messaging between a set top box and head end system within a broadcast programming system.
2. Description of the Related Art
Traditionally, customers access business websites (e.g., a customer visits a retailer's website or the website of a service that the customer utilizes such as a phone company, gas company, water and power company, etc.). Usually, businesses don't access a customer's home. In some circumstances, it would be beneficial for the business to contact a customer/client and/or access a customer's devices. For example, it may be desirable for a satellite television provider to control a customer's set top box (STB) that is used to access the provider's services/content. Such a provider may want to exchange/deliver configuration information to a STB such as parental controls, pause points (indicating where the user paused when watching/viewing content on another device such as a phone), and/or other configuration information. There is insufficient bandwidth to deliver such configuration information over a broadcast signal (e.g., via satellite). Further, as a matter of course, customers don't maintain an Internet presence through which the business can communicate information and/or access a STB. In view of the above, it is desirable to provide a mechanism for a business to access a customer's home and/or devices in order to deliver/control various parameters for such a customer. To provide a better understanding of the prior art, a brief description of STB communications may be useful.
Unlike mobile devices such as iOS™ (using Apple™ Push Notification Service [APNS]) and Android™ (using Google™ Cloud Message [GCM]) devices, there has not been an effective way to deliver one-on-one notifications to STB devices. Traditionally, in order to send notifications to STBs, television providers, such as DirecTV™, rely on broadcast messages to deliver notifications to their television STBs. Broadcast messages are effective for group notifications, such as firmware upgrades, program guide updates, etc. However, it becomes very expensive if providers attempt to deliver more personalized service notifications, such as recommendations and personal messages.
More broadly, traditional communications between broadband connected set top box (STB) devices/clients and head-end (HE) application servers (i.e., where television broadcast signals are collected and transmitted from) have been relying on HTTP (hypertext transfer protocol) as the transport protocol, which requires the STB clients to initiate the connection. There are times when the HE application needs to start/initiate the communication with designated client STB devices. Such an initiation is usually achieved either by the client constantly polling HE applications, or running a local service on the managed client device for the HE server to call. However, if the STB resides behind a firewall, such a mechanism doesn't work without some protocol like STUN (Session Traversal Utilities for NAT [network address translation]) or port forwarding rules in place.
In view of the above, what is needed is the capability for a business (e.g., an HE) to initiate and maintain a connection with a STB to communicate various messaging/configuration parameters.